package com.isdepci.project.reference.domain;

import com.isdepci.framework.aspectj.lang.annotation.Excel;
import com.isdepci.framework.web.domain.BaseEntity;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 字典数据对象 reference_data
 *
 * @author isdepci
 * @date 2023-08-22
 */
public class ReferenceData extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 类型(1燃料EFs、2运输燃料、3运输燃料、4热量、5蒸汽、6冷却、7物流距离、8参考客运、9标准物质、10EFs EEIO) */
    @Excel(name = "类型(1燃料EFs、2运输燃料、3运输燃料、4热量、5蒸汽、6冷却、7物流距离、8参考客运、9标准物质、10EFs EEIO)")
    private Long referenceType;

    /** 地区 */
    @Excel(name = "地区")
    private String region;

    /** 年份 */
    @Excel(name = "年份")
    private String year;

    /** 技术 */
    @Excel(name = "技术")
    private String technology;

    /** 燃料 */
    @Excel(name = "燃料")
    private String fuel;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 方式 */
    @Excel(name = "方式")
    private String mode;

    /** 型号 */
    @Excel(name = "型号")
    private String type;

    /** 生物源燃料所占百分比 */
    @Excel(name = "生物源燃料所占百分比")
    private String biogenicFuel;

    /** 参考文献 */
    @Excel(name = "参考文献")
    private String reference;

//    /** 原材料 */
//    @Excel(name = "原材料")
//    private String material;
//
//    /** 经济部门 */
//    @Excel(name = "经济部门")
//    private String economicSector;

    /** 燃烧排放因子(kg CO2e/unit) */
    @Excel(name = "燃烧排放因子(kg CO2e/unit)")
    private BigDecimal combustionEmissionFactor;

    /** 转化因子（MWH/unit） */
    @Excel(name = "转化因子", readConverterExp = "M=WH/unit")
    private BigDecimal conversionFactor;

    /** 排放因子(kg CO2e/MWh)	 */
    @Excel(name = "排放因子(kg CO2e/MWh)	")
    private BigDecimal emissionFactor;

    /** 上游排放因子(kg CO2e/unit） */
    @Excel(name = "上游排放因子(kg CO2e/unit）")
    private BigDecimal upstreamEmissions;

    /** CO2排放因子(kg CO2e/unit) */
    @Excel(name = "CO2排放因子(kg CO2e/unit)")
    private BigDecimal co2EmissionFactor;

    /** CH4排放因子(kg CO2e/unit） */
    @Excel(name = "CH4排放因子(kg CO2e/unit）")
    private BigDecimal ch4EmissionFactor;

    /** N2O排放因子(kg CO2e/unit） */
    @Excel(name = "N2O排放因子(kg CO2e/unit）")
    private BigDecimal n2oEmissionFactor;

    /** HFC 排放因子(kg CO2e/unit） */
    @Excel(name = "HFC 排放因子(kg CO2e/unit）")
    private BigDecimal hfcEmissionFactor;

    /** PFC排放因子(kg CO2e/unit） */
    @Excel(name = "PFC排放因子(kg CO2e/unit）")
    private BigDecimal pfcEmissionFactor;

    /** SF6 排放因子(kg CO2e/unit） */
    @Excel(name = "SF6 排放因子(kg CO2e/unit）")
    private BigDecimal sf6EmissionFactor;

    /** NF3 排放因子(kg CO2e/unit) */
    @Excel(name = "NF3 排放因子(kg CO2e/unit)")
    private BigDecimal nf3EmissionFactor;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setReferenceType(Long referenceType)
    {
        this.referenceType = referenceType;
    }

    public Long getReferenceType()
    {
        return referenceType;
    }
    public void setRegion(String region)
    {
        this.region = region;
    }

    public String getRegion()
    {
        return region;
    }
    public void setYear(String year)
    {
        this.year = year;
    }

    public String getYear()
    {
        return year;
    }
    public void setTechnology(String technology)
    {
        this.technology = technology;
    }

    public String getTechnology()
    {
        return technology;
    }
    public void setFuel(String fuel)
    {
        this.fuel = fuel;
    }

    public String getFuel()
    {
        return fuel;
    }
    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }
    public void setMode(String mode)
    {
        this.mode = mode;
    }

    public String getMode()
    {
        return mode;
    }
    public void setType(String type)
    {
        this.type = type;
    }

    public String getType()
    {
        return type;
    }
    public void setBiogenicFuel(String biogenicFuel)
    {
        this.biogenicFuel = biogenicFuel;
    }

    public String getBiogenicFuel()
    {
        return biogenicFuel;
    }
    public void setReference(String reference)
    {
        this.reference = reference;
    }

    public String getReference()
    {
        return reference;
    }

    public void setCombustionEmissionFactor(BigDecimal combustionEmissionFactor)
    {
        this.combustionEmissionFactor = combustionEmissionFactor;
    }

    public BigDecimal getCombustionEmissionFactor()
    {
        return combustionEmissionFactor;
    }
    public void setConversionFactor(BigDecimal conversionFactor)
    {
        this.conversionFactor = conversionFactor;
    }

    public BigDecimal getConversionFactor()
    {
        return conversionFactor;
    }
    public void setEmissionFactor(BigDecimal emissionFactor)
    {
        this.emissionFactor = emissionFactor;
    }

    public BigDecimal getEmissionFactor()
    {
        return emissionFactor;
    }
    public void setUpstreamEmissions(BigDecimal upstreamEmissions)
    {
        this.upstreamEmissions = upstreamEmissions;
    }

    public BigDecimal getUpstreamEmissions()
    {
        return upstreamEmissions;
    }
    public void setCo2EmissionFactor(BigDecimal co2EmissionFactor)
    {
        this.co2EmissionFactor = co2EmissionFactor;
    }

    public BigDecimal getCo2EmissionFactor()
    {
        return co2EmissionFactor;
    }
    public void setCh4EmissionFactor(BigDecimal ch4EmissionFactor)
    {
        this.ch4EmissionFactor = ch4EmissionFactor;
    }

    public BigDecimal getCh4EmissionFactor()
    {
        return ch4EmissionFactor;
    }
    public void setN2oEmissionFactor(BigDecimal n2oEmissionFactor)
    {
        this.n2oEmissionFactor = n2oEmissionFactor;
    }

    public BigDecimal getN2oEmissionFactor()
    {
        return n2oEmissionFactor;
    }
    public void setHfcEmissionFactor(BigDecimal hfcEmissionFactor)
    {
        this.hfcEmissionFactor = hfcEmissionFactor;
    }

    public BigDecimal getHfcEmissionFactor()
    {
        return hfcEmissionFactor;
    }
    public void setPfcEmissionFactor(BigDecimal pfcEmissionFactor)
    {
        this.pfcEmissionFactor = pfcEmissionFactor;
    }

    public BigDecimal getPfcEmissionFactor()
    {
        return pfcEmissionFactor;
    }
    public void setSf6EmissionFactor(BigDecimal sf6EmissionFactor)
    {
        this.sf6EmissionFactor = sf6EmissionFactor;
    }

    public BigDecimal getSf6EmissionFactor()
    {
        return sf6EmissionFactor;
    }
    public void setNf3EmissionFactor(BigDecimal nf3EmissionFactor)
    {
        this.nf3EmissionFactor = nf3EmissionFactor;
    }

    public BigDecimal getNf3EmissionFactor()
    {
        return nf3EmissionFactor;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("referenceType", getReferenceType())
            .append("region", getRegion())
            .append("year", getYear())
            .append("technology", getTechnology())
            .append("fuel", getFuel())
            .append("unit", getUnit())
            .append("mode", getMode())
            .append("type", getType())
            .append("biogenicFuel", getBiogenicFuel())
            .append("reference", getReference())
            .append("combustionEmissionFactor", getCombustionEmissionFactor())
            .append("conversionFactor", getConversionFactor())
            .append("emissionFactor", getEmissionFactor())
            .append("upstreamEmissions", getUpstreamEmissions())
            .append("co2EmissionFactor", getCo2EmissionFactor())
            .append("ch4EmissionFactor", getCh4EmissionFactor())
            .append("n2oEmissionFactor", getN2oEmissionFactor())
            .append("hfcEmissionFactor", getHfcEmissionFactor())
            .append("pfcEmissionFactor", getPfcEmissionFactor())
            .append("sf6EmissionFactor", getSf6EmissionFactor())
            .append("nf3EmissionFactor", getNf3EmissionFactor())
            .toString();
    }
}
